iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 11
0
自我挑戰組

sass&css 30天學習日誌系列 第 11

CSS: transform 應用(2)

  • 分享至 

  • xImage
  •  

hover特效中,常看到滑過圖片會縮放和文字區塊從上下方向滑入,如下面網站
https://tympanus.net/Tutorials/OriginalHoverEffects/index.html

https://ithelp.ithome.com.tw/upload/images/20200411/20107321jOK3fxxYcn.png

這種特效只適合電腦,手機和平板都無法使用,在此就來拆解他的作法,分為三個部分:

1.縮放圖片

2.有色背景

3.文字滑入

因為此範例效果導致程式碼會冗長,改用SASS巢狀寫法

1.縮放圖片

https://ithelp.ithome.com.tw/upload/images/20200411/20107321YvRBOdNXE0.png

上圖左邊是滑鼠滑過的縮放效果,右邊是原圖大小

重點:

01.設定絕對定位和相對定位
02.cursor:pointer+display:block讓手指游標出現

HTML和CSS如下,下圖為沒加入特效的基本排版

https://ithelp.ithome.com.tw/upload/images/20200411/201073215fAzsIafgz.png

接下來設定滑過時圖片會縮放

03.縮放圖片transform-scale

語法transform可參考w3c的介紹
https://www.w3schools.com/css/css3_2dtransforms.asp

完成後如下圖整個圖片放大

https://ithelp.ithome.com.tw/upload/images/20200411/20107321AU0nW4syZC.png

04.overflow:hidden隱藏超過的部分
05.控制縮放動畫的速度使用transition,對transform動作設定秒數

語法transition可參考w3c的介紹
https://www.w3schools.com/css/css3_transitions.asp

https://ithelp.ithome.com.tw/upload/images/20200411/20107321OBNsiderzX.png

2.有色背景

https://ithelp.ithome.com.tw/upload/images/20200411/20107321K41VEn44uO.png

上圖左邊是滑鼠滑過的上色+縮放效果,右邊是原圖大小

HTML
裡面除了img之外,加入mask

https://ithelp.ithome.com.tw/upload/images/20200411/20107321Yzz0fOWQfX.png

CSS
針對mask,加入背景色和絕對定位,並增加hover狀態:
a.一般狀態: 隱藏背景色
b.滑過狀態: 顯示背景色

https://ithelp.ithome.com.tw/upload/images/20200411/20107321dLxgSn7pkb.png

3.文字滑入

https://ithelp.ithome.com.tw/upload/images/20200411/20107321573qt9vxRC.png

上圖左邊是滑鼠滑過的上色+縮放效果+文字滑入,右邊是原圖大小

HTML
mask裡面增加h2的文字區塊

https://ithelp.ithome.com.tw/upload/images/20200411/20107321t3aaxQP1hK.png

CSS
設定文字區塊基本樣式,同樣是滑過會顯示

https://ithelp.ithome.com.tw/upload/images/20200411/20107321d02sNulILM.png

從上圖發現文字區塊有向下偏移,而且文字沒置中,處理如下:

a. mask內設定text-align:center
b. h2設定margin:0

處理後如下圖,區塊正常顯示

https://ithelp.ithome.com.tw/upload/images/20200411/20107321xbF2X3NPsk.png

接著把文字區塊作從上往下的移動動畫,可使用translate

重點如下:

01.translatey : y軸上下移動,從外框外(-50px)移到中間(70px)
02.transition:秒數+速度曲線

速度曲線可參考w3c的介紹:
https://www.w3schools.com/css/css3_transitions.asp

https://ithelp.ithome.com.tw/upload/images/20200411/20107321sSNN14uIye.png

codepen: https://codepen.io/yuski/pen/bmoWyw
文章取材來源:https://www.minwt.com/webdesign-dev/css/13153.html


上一篇
CSS: transform 應用(1)
下一篇
CSS: SVG上色
系列文
sass&css 30天學習日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言